#include <STC89C5xRC.H>
#include "delay.h"

unsigned char nixie_buf[9]={0,16,16,16,16,16,16,16,16};
	

unsigned char nixietable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
							0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40};//0x40是‘-’的段码

//void nixie(unsigned char location,number)
//{
//	switch(location)
//	{
//		case 1:	P24 =1;P23 =1;P22 =1;break;
//		case 2:	P24 =1;P23 =1;P22 =0;break;
//		case 3:	P24 =1;P23 =0;P22 =1;break;
//		case 4:	P24 =1;P23 =0;P22 =0;break;
//		case 5:	P24 =0;P23 =1;P22 =1;break;
//		case 6:	P24 =0;P23 =1;P22 =0;break;
//		case 7:	P24 =0;P23 =0;P22 =1;break;
//		case 8:	P24 =0;P23 =0;P22 =0;break;
//	}
//	P0 = nixietable[number];
//	Delayms(1);
//	P0 = 0x00;
//}
							
void nixie_setbuf(unsigned char location,number)
{
	nixie_buf[location]=number;
}
							
void nixie_scanf(unsigned char location,number)
{	
	P0 = 0x00;
	switch(location)
	{
		case 1:	P24 =1;P23 =1;P22 =1;break;
		case 2:	P24 =1;P23 =1;P22 =0;break;
		case 3:	P24 =1;P23 =0;P22 =1;break;
		case 4:	P24 =1;P23 =0;P22 =0;break;
		case 5:	P24 =0;P23 =1;P22 =1;break;
		case 6:	P24 =0;P23 =1;P22 =0;break;
		case 7:	P24 =0;P23 =0;P22 =1;break;
		case 8:	P24 =0;P23 =0;P22 =0;break;
	}
	P0 = nixietable[number];
}


void nixie_loop()
{
	static unsigned char i=1;	
	nixie_scanf(i,nixie_buf[i]);
	i++;
	if(i>=9){i=1;}
}